home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d3 / db4less3.arc / EMP.LBG < prev    next >
Text File  |  1990-06-16  |  5KB  |  237 lines

  1. * Program............: D:\DBSYS\CLASSES\BT4W\EMP.LBG
  2. * Date...............: 11-17-88
  3. * Version............: dBASE IV, Label 1
  4. *
  5. * Label Specifics:
  6. *   Wide - 35
  7. *   Tall - 5
  8. *   Indentation - 0
  9. *   Number across - 2
  10. *   Space between - 2
  11. *   Lines between - 1
  12. *   Blankable lines - 1
  13. *   Print formatted - 3
  14. *
  15. PARAMETER ll_sample
  16. *-- Set printer variables for this procedure only
  17. PRIVATE _peject, _ploffset, _wrap
  18.  
  19. *-- Test for End of file
  20. IF EOF()
  21.    RETURN
  22. ENDIF
  23.  
  24. IF SET("TALK")="ON"
  25.    SET TALK OFF
  26.    gc_talk="ON"
  27. ELSE
  28.    gc_talk="OFF"
  29. ENDIF
  30. gc_space = SET("SPACE")
  31. SET SPACE OFF
  32. gc_time=TIME()      && system time for predefined field
  33. gd_date=DATE()      && system date  "    "    "     "
  34. gl_fandl=.F.        && first and last record flag
  35. gl_prntflg=.T.      && Continue printing flag
  36. gn_column=1
  37. gn_element=0
  38. gn_line=1
  39. gn_memowid=SET("MEMOWIDTH")
  40. SET MEMOWIDTH TO 254
  41. gn_page=_pageno     && capture page number for multiple copies
  42. _plineno=0
  43. _wrap = .F.
  44.  
  45. IF ll_sample
  46.    DO Sample
  47.    IF LASTKEY() = 27
  48.       RETURN
  49.    ENDIF
  50. ENDIF
  51.  
  52. *-- Setup Environment
  53. ON ESCAPE DO prnabort
  54.  
  55. *-- Initialize array(s) for 2 across labels
  56. DECLARE isfound[1]
  57. DECLARE tmp4lbl[1,6]
  58. DECLARE gn_line2[2]
  59.  
  60. PRINTJOB
  61.  
  62.  
  63. *-- set page number for multiple copies
  64. _pageno=gn_page
  65.  
  66. DO WHILE FOUND() .AND. .NOT. EOF() .AND. gl_prntflg
  67.    STORE .F. TO isfound[1]
  68.    tmp4lbl[1,1]=FNAME
  69.    tmp4lbl[1,2]=LNAME
  70.    tmp4lbl[1,3]=ADDRESS
  71.    tmp4lbl[1,4]=CITY
  72.    tmp4lbl[1,5]=STATE
  73.    tmp4lbl[1,6]=ZIP
  74.    CONTINUE
  75.    IF FOUND() .AND. .NOT. EOF()
  76.       isfound[1]=.T.
  77.    ENDIF
  78.    gn_line=2
  79.    *-- Column 1
  80.    ?? tmp4lbl[1,1] PICTURE "@T XXXXXXXXXXXXXX" AT 0 ;
  81.    ," " ;
  82.    ,tmp4lbl[1,2] PICTURE "@T XXXXXXXXXXXXXXXXXX" ,
  83.    *-- Column 2
  84.    IF isfound[1]
  85.       ?? FNAME PICTURE "@T XXXXXXXXXXXXXX" AT 37 ;
  86.       ," " ;
  87.       ,LNAME PICTURE "@T XXXXXXXXXXXXXXXXXX" 
  88.    ENDIF
  89.    ?
  90.  
  91.    *-- Check for blank lines
  92.    DO chk4null WITH 1, 1, 2
  93.  
  94.    *-- Column 1
  95.    ?? tmp4lbl[1,4] PICTURE "@T" AT 0 ;
  96.    ,", " ;
  97.    ,tmp4lbl[1,5] PICTURE "@T" ;
  98.    ," " ;
  99.    ,tmp4lbl[1,6] PICTURE "@T XXXXX" ,
  100.    *-- Column 2
  101.    IF isfound[1]
  102.       ?? CITY PICTURE "@T" AT 37 ;
  103.       ,", " ;
  104.       ,STATE PICTURE "@T" ;
  105.       ," " ;
  106.       ,ZIP PICTURE "@T XXXXX" 
  107.    ENDIF
  108.    ?
  109.    DO WHILE gn_line < 6
  110.       ?
  111.       gn_line=gn_line+1
  112.    ENDDO
  113.    CONTINUE
  114. ENDDO
  115.  
  116. IF .NOT. gl_prntflg
  117.    SET MEMOWIDTH TO gn_memowid
  118.    SET SPACE &gc_space.
  119.    SET TALK &gc_talk.
  120.    ON ESCAPE
  121.    RETURN
  122. ENDIF
  123.  
  124. ENDPRINTJOB
  125.  
  126. SET MEMOWIDTH TO gn_memowid
  127. SET SPACE &gc_space.
  128. SET TALK &gc_talk.
  129. ON ESCAPE
  130. RETURN
  131. * EOP: D:\DBSYS\CLASSES\BT4W\EMP.LBG
  132.  
  133. PROCEDURE prnabort
  134. gl_prntflg=.F.
  135. RETURN
  136. * EOP: prnabort
  137.  
  138. *
  139. *-- The next 2 function file are for blank line checking
  140.  
  141. FUNCTION ___11
  142. lc_ret=.F.
  143.  
  144. *-- Test for blank line
  145. IF LEN(TRIM( tmp4lbl[1,3] )) > 0
  146.    ll_output=.T.
  147.    ?? tmp4lbl[1,3] PICTURE "@T" AT 0 ,
  148. ENDIF
  149.  
  150. RETURN lc_ret
  151.  
  152. FUNCTION ___12
  153. lc_ret=.F.
  154.  
  155. *-- Column 2
  156. IF isfound[1]
  157.    *-- Test for blank line
  158.    IF LEN(TRIM( ADDRESS )) > 0
  159.       ll_output=.T.
  160.       ?? ADDRESS PICTURE "@T" AT 37 
  161.    ENDIF
  162. ENDIF
  163.  
  164. RETURN lc_ret
  165.  
  166. PROCEDURE chk4null
  167. *-- Parameters:
  168. *
  169. *-- 1) line number on the design surface
  170. *-- 2) maximum number of printable lines
  171. *-- 3) parameter 2 times number of labels across
  172. *
  173. PARAMETERS ln_line, ln_nolines, ln_element
  174. gn_element=0
  175. gn_line2[1]=ln_line
  176. gn_line2[2]=ln_line
  177. lc_temp=SPACE(7)
  178. ll_output=.F.
  179. DO WHILE gn_element < ln_element
  180.    gn_column=1
  181.    ll_output=.F.
  182.    DO WHILE gn_column <= 2
  183.       IF gn_line2[gn_column] < ln_line+ln_nolines
  184.          lc_temp=LTRIM(STR(gn_line2[gn_column]))+LTRIM(STR(gn_column))
  185.          DO WHILE ___&lc_temp.()
  186.             gn_element=gn_element+1
  187.             gn_line2[gn_column]=gn_line2[gn_column]+1
  188.             lc_temp=LTRIM(STR(gn_line2[gn_column]))+LTRIM(STR(gn_column))
  189.          ENDDO
  190.          gn_element=gn_element+1
  191.          gn_line2[gn_column]=gn_line2[gn_column]+1
  192.       ENDIF
  193.       gn_column=gn_column+1
  194.    ENDDO
  195.    IF ll_output
  196.      ?
  197.      gn_line=gn_line+1
  198.    ENDIF
  199. ENDDO
  200. RETURN
  201. * EOP: chk4null
  202.  
  203. PROCEDURE SAMPLE
  204. PRIVATE x,y,choice
  205. DEFINE WINDOW w4sample FROM 15,20 TO 17,60 DOUBLE
  206. choice="Y"
  207. x=0
  208. DO WHILE choice = "Y"
  209.    y=0
  210.    ?
  211.    DO WHILE y < 5
  212.       x=0
  213.       DO WHILE x < 2
  214.          ?? REPLICATE("X",35)+SPACE(2)
  215.          x=x+1
  216.       ENDDO
  217.       ?
  218.       y=y+1
  219.    ENDDO
  220.    x=0
  221.    DO WHILE x < 1
  222.       ?
  223.       x=x+1
  224.    ENDDO
  225.    ACTIVATE WINDOW w4sample
  226.    @ 0,3 SAY "Do you want more samples? (Y/N)";
  227.    GET choice PICTURE "!" VALID choice $ "NY"
  228.    READ
  229.    DEACTIVATE WINDOW w4sample
  230.    IF LASTKEY() = 27
  231.       EXIT
  232.    ENDIF
  233. ENDDO
  234. RELEASE WINDOW w4sample
  235. RETURN
  236. * EOP: SAMPLE
  237.